Apparatus for adapting virtual gaming with real world information

ABSTRACT

A server device that incorporates teachings of the present disclosure may include, for example, a memory and a processor. The processor can identify first and second players present at first and second physical locations, to identify first and second boundary and topographical information of the first and second physical locations, to map the first and second boundary and topographical information of the first and second physical locations to a virtual gaming space, to capture first and second position and orientation information for the first and second players, to map the first and second position and orientation information to the virtual gaming space, to generate first and second virtual players corresponding to the first and second players, and to transmit to first goggles information representative of the second virtual player for display superimposed onto a transparent viewing apparatus for viewing of the virtual gaming space. Additional embodiments are disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/592,991 filed Feb. 4, 2022, which is a continuation of U.S. patentapplication Ser. No. 16/663,678 filed Oct. 25, 2019, now issued as U.S.Pat. No. 11,273,377, which is a continuation of U.S. patent applicationSer. No. 15/829,502 filed Dec. 1, 2017, now issued as U.S. Pat. No.10,512,844, which is a continuation of U.S. patent application Ser. No.14/852,002 filed Sep. 11, 2015, now issued as U.S. Pat. No. 9,861,893,which is a continuation of U.S. patent application Ser. No. 13/232,310filed Sep. 14, 2011, now issued as U.S. Pat. No. 9,155,964. All sectionsof the aforementioned applications and patents are incorporated hereinby reference in their entirety.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to an apparatus for adaptingvirtual gaming with real world information.

BACKGROUND

Electronic games are commonly played on gaming systems, such as acontroller box coupled to a display screen or a computer device with anintegrated display screen (laptop, mobile phone). Gamers typicallyengage other players on their system or play against computer-generatedplayers. Gamers also frequently play along with other players inMassively Multiplayer On-line (MMO) games in team or individualcompetition. Gamers can have at their disposal accessories such as akeyboard, a general purpose gaming pad, a mouse, a gaming consolecontroller, a headset with a built-in microphone to communicate withother players, a joystick, a computer display, or other common gamingaccessories. Gamers commonly use such accessories to enjoy the gamingexperience from their homes while participating in the gamingexperienced generated and displayed on their gaming systems.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A, 1B, 2A, 2B, and 3 depict illustrative embodiments of aGraphical User Interface (GUI) generated by an Accessory ManagementSoftware (AMS) application according to the present disclosure;

FIGS. 4-6 depict illustrative methods describing the operation of theAMS application;

FIG. 7 depicts an illustrative embodiment of a virtual gaming system;

FIGS. 8-9 depict illustrative embodiments of virtual gaming spaces;

FIGS. 10-12 depict illustrative embodiments of methods operating inportions of the systems described in FIGS. 1-9 ; and

FIG. 13 depicts an illustrative diagrammatic representation of a machinein the form of a computer system within which a set of instructions,when executed, may cause the machine to perform any one or more of themethodologies disclosed herein.

DETAILED DESCRIPTION

One embodiment of the present disclosure includes a server device havinga memory and a processor. The processor can be operable to identify afirst player physically present at the first physical location and asecond player physically present at a second physical location. Thefirst and second physical locations can disparate locations. Theprocessor can also be operable to identify first boundary andtopographical information of the first physical location and secondboundary and topographical information of the second physical location.The processor can further be operable to map the first boundary andtopographical information of the first physical location and the secondboundary and topographical information of the second physical locationto a virtual gaming space. The processor can be operable to capturefirst position and orientation information for the first player at thefirst physical location and second position and orientation informationfor the second player at the second physical location. The processor canalso be operable to map the first position and orientation informationfor the first player and the second position and orientation informationfor the second player to the virtual gaming space. The processor can befurther operable to generate a first virtual player corresponding to thefirst player and a second virtual player corresponding to the secondplayer. The processor can be operable to transmit to first goggles ofthe first player information representative of the second virtualplayer. In turn, the first goggles can display the second virtual playersuperimposed onto a transparent viewing apparatus for viewing of thevirtual gaming space.

One embodiment of the present disclosure includes a computer-readablestorage medium including computer instructions. The computerinstructions can identify a first player device physically present at aphysical location. The computer instructions can also identify boundaryand topographical information of the physical location. The computerinstructions can further map the boundary and topographical informationof the physical location to a virtual gaming space. The computerinstructions can generate a virtual structure corresponding to thevirtual gaming space. The computer instructions can also capture firstposition and orientation information for the first player device at thephysical location. The computer instructions can map the first positionand orientation information for the first player device to the virtualgaming space to generate a first virtual player corresponding to thefirst player device. The computer instructions can further transmit tothe first player device information representative of the first virtualplayer. In turn, the first player device can display the first virtualplayer in the virtual structure.

One embodiment of the present disclosure includes a goggle apparatushaving a memory and a processor. The processor can be operable to detectfirst position and orientation information relative to first boundaryand topographical information of a first physical location for a firstplayer physically present and wearing the goggle apparatus. Theprocessor can also be operable to receive information representative ofa virtual player at a virtual gaming space corresponding to a mapping ofsecond boundary and topographical information of the second physicallocation and the first boundary and topographical information of thefirst physical location. The virtual player corresponds to secondposition and orientation information for a second player physicallypresent at a second physical location. The processor can further beoperable to display the virtual player superimposed onto a transparentviewing element for viewing of the virtual gaming space.

FIGS. 1A, 1B, 2A, 2B, and 3 depict illustrative embodiments of aGraphical User Interface (GUI) generated by an Accessory ManagementSoftware (AMS) application according to the present disclosure. The AMSapplication can operate in a computing device such as a desktopcomputer, a laptop computer, a server, a mainframe computer, a gamingserver, or a gaming console. A gaming console can represent a gaming boxsuch as a PlayStation 3™, a Wii™, or an Xbox360™. Other present and nextgeneration gaming consoles are contemplated. The AMS application canalso operate in other computing devices with less computing resourcessuch as a cellular phone, a personal digital assistant, or a mediaplayer (such as an iPod™, an iPAD™, etc.). From these illustrations itwould be apparent to an artisan with ordinary skill in the art that theAMS application can operate in any device with computing resources.

FIGS. 4-6 depict illustrative methods 400-600 describing the operationof the AMS application as shown in FIGS. 1-3 . Method 400 can begin withstep 402 in which the AMS application is invoked in a computing device.The invocation step can result from a user selection of the AMSapplication from a menu or iconic symbol presented on a desktop of thecomputing device by an operating system (OS) managing operationsthereof. In step 404, the AMS application can detect by way of driversin the OS a plurality of operationally distinct accessoriescommunicatively coupled to the computing device. The accessories can becoupled to the computing device by a tethered interface (e.g., USBcable), a wireless interface (e.g., Bluetooth or WirelessFidelity—Wi-Fi), a mobile cellular network, or combinations thereof.

In the present context, an accessory can represent any type of devicewhich can be communicatively coupled to the computing device and whichcan control aspects of the OS and/or a software application operating inthe computing device. An accessory can represent for example a keyboard,a gaming pad, a mouse, a gaming console controller, a joystick, amicrophone, or a headset with a microphone—just to mention a few. Anaccessory can also represent for example, gaming goggles or apparel withsensors.

The keyboard and gaming pad represent accessories of a similar categorysince their operational parameters are alike. A mouse, on the otherhand, represents an accessory having disparate operational parametersfrom the keyboard or gaming pad. For instance, the operationalparameters of a keyboard generally consist of alphanumeric keys, controlkeys (e.g., Shift, Alt, Ctrl), and function keys while the operationalparameters of a mouse consist of navigation data generated by a trackingdevice such as a laser sensor, buttons to invoke GUI selections, andsettings thereof (e.g., counts or dots per inch, acceleration, scrollspeed, jitter control, line straightening control, and so on). Suchdistinctions can be used to identify disparate categories ofaccessories. The joysticks, game controllers or any other input devicesrepresent additional categories of accessories supported by the AMS.

In step 406, the AMS application presents a GUI 101 such as depicted inFIG. 1A with operationally distinct accessories such as the keyboard 108and mouse 110. The GUI 101 presents the accessories 108-116 in ascrollable section 117. One or more accessories can be selected by auser with a common mouse pointer. In this illustration, the keyboard 108and mouse 110 were selected with a mouse pointer for customization. Uponselecting the keyboard 108 and mouse 110 in section 117, the AMSapplication can present the keyboard 108 and mouse 110 in split windows118, 120, respectively, to help the user during the customizationprocess. Alternatively, gaming goggles 109 and a headset 111 can beselected and presented in the split windows 118 and 120, respectively.For example, the selected gaming goggles 109 can include buttons “A”180, “B” 185, “C” 188, and “D” 189 and a viewing apparatus “190”. Theviewing apparatus 190 can utilize, for example, liquid crystal displaytechnology to superimpose virtual gaming information (e.g., avatarrepresentative of another player, virtual objects or obstructions, etc.)onto a transparent viewing display which enables a gamer to seereal-world objects in a location of the gamer.

In step 408, the AMS application can be programmed to detect auser-selection of a particular software application such as a game. Thisstep can be the result of the user entering in a Quick Search field 160the name of a gaming application (e.g., World of Warcraft™). Uponidentifying a gaming application, the AMS application can retrieve instep 410 from a remote or local database gaming application actionswhich can be presented in a scrollable section 139 of the GUIrepresented as “Actions” 130. The actions can be tactical actions 132,communication actions 134, menu actions 136, and movement actions 138,or any other types of actions, which can be used to invoke and managefeatures of the gaming application.

The actions presented descriptively in section 130 of the GUI canrepresent a sequence of accessory input functions which a user canstimulate by button depressions, navigation or speech. For example,depressing the left button on the mouse 110 can represent the tacticalaction “Reload”, while the simultaneous keyboard depressions “Ctrl A”can represent the tactical action “Melee Attack”. For ease of use, the“Actions” 130 section of the GUI is presented descriptively rather thanby a description of the input function(s) of a particular accessory.

Any one of the Actions 130 can be associated with one or more inputfunctions of the accessories by way of a simple drag and drop action.For instance, a user can select a “Melee Attack” by placing a mousepointer 133 over an iconic symbol associated with this action. Upondoing so, the symbol can be highlighted to indicate to the user that theicon is selectable. At this point, the user can select the icon byholding the left mouse button and drag the symbol to any of the inputfunctions (e.g., buttons) of the keyboard 108 or mouse 110 to make anassociation with an input function of one of these accessories.

For example, the user can drag the Melee Attack symbol to the rightmouse button thereby causing an association between the selection of theright mouse button and the gaming action of a Melee Attack. When theright button of the mouse 110 is selected during normal operation, theAMS application can detect the selection as a “trigger” to generate thekey sequence “Ctrl A” which is understood by the gaming application asrequest for a Melee Attack. The gaming application receives from the AMSapplication by way of an operating system the “Ctrl A” sequence as if ithad been generated by a Qwerty keyboard.

As another example, the user can associate a function with button “A”180 on the gaming goggles 109. For instance the user can select the“Team Chat” function under the “Comm” subsection 134 of the “Actions”section 130 section of the GUI. The “Team Chat” icon can be selected byholding down a mouse button and dragging the icon symbol to the “A”button 180 on the gaming goggles 109 to thereby associate presses of the“A” button 180 with the “Team Chat” function. During a game, the AMSapplication can detect pressing of the “A” button 180 and substitute the“Team Chat” function. In another example, the user can use the AMSapplication to associate a key press on the headset 111 or on a gamingaccessory 113, such as a virtual gaming gun 113, with a gaming function.The user can use the AMS application to associate a single button presson the gaming goggles 109, the headset 111, or the gaming accessory 113to a single substitute function or to a series of substitute functions.

With this in mind, attention is directed to step 412 where the AMSapplication can respond to a user selection of a profile. A profile canbe a device profile or master profile invoked by selecting GUI button156 or 158, each of which can identify the association of actions withinput functions of one or more accessories. If a profile selection isdetected in step 412, the AMS application can retrieve macro(s) and/orprior associations of actions with the accessories as defined by theprofile. The actions and/or macros defined in the profile can also bepresented in step 416 by the AMS application in the actions column 130of the GUI 101 to modify or create new associations.

In step 418, the AMS application can also respond to a user selection tocreate a macro. A macro in the present context can represent a subset ofactions that can be presented in the Actions column 130. Any commandwhich can be recorded by the AMS application can be used to define amacro. A command can represent a sequence of input functions of anaccessory, identification of a software application to be initiated byan operating system (OS), or any other recordable stimulus to initiate,control or manipulate software applications. For instance, a macro canrepresent a user entering the identity of a software application (e.g.,instant messaging tool) to be initiated by an OS. A macro can alsorepresent recordable speech delivered by a microphone singly or incombination with a headset for detection by another software applicationthrough speech recognition or for delivery of the recorded speech toother parties. In yet another embodiment a macro can representrecordable navigation of an accessory such as a mouse or joystick,recordable selections of buttons on a keyboard, a mouse, a mouse pad, apair of gaming goggles, or a gaming accessory, and so on. In anotherembodiment, macros can be Macros can also be combinations of the aboveillustrations. Macros can be created from the GUI 101 by selecting a“Record Macro” button 148. The macro can be given a name and category inuser-defined fields 140 and 142.

Upon selecting the Record Macro button 148, a macro can be generated byselection of input functions on an accessory (e.g., Ctrl A, speech,etc.) and/or by manual entry in field 144 (e.g., typing the name andlocation of a software application to be initiated by an OS). Once themacro is created, it can be tested by selecting button 150 which canrepeat the sequence specified in field 144. The clone button 152 can beselected to replicate the macro sequence if desired. Fields 152 can alsopresent timing characteristics of the stimulation sequence in the macrowith the ability to customize such timing. Once the macro has been fullydefined, selection of button 154 records the macro in step 420. Therecording step can be combined with a step for adding the macro to theassociable items Actions column 130, thereby providing the user themeans to associate the macro with input functions of the accessories.

In step 422, the AMS application can respond to drag and dropassociations between actions and input functions of the keyboard 108 andthe mouse 110. If an association is detected, the AMS application canproceed to step 424 where it can determine if a profile has beenidentified in step 412 to record the association(s) detected. If aprofile has been identified, the associations are recorded in saidprofile in step 426. If a profile was not been identified in step 412,the AMS application can create a profile in step 428 for recording thedetected associations. In the same step, the user can name the newlycreated profile as desired. The newly created profile can also beassociated with one or more software applications in step 430 for futurereference.

The GUI 101 presented by the AMS application can have other functions.For example, the GUI 101 can provide options for layout of the accessoryselected (button 122), how the keyboard is illuminated when associationsbetween input functions and actions are made (button 134), andconfiguration options for the accessory (button 126). Configurationoptions can include operational settings of the mouse 110 such asDots-per-Inch or Counts-per-Inch, and so on. The AMS application canadapt the GUI 101 to present more than one functional perspective. Forinstance, by selecting button 102, the AMS application can adapt the GUI101 to present a means to create macros and associate actions toaccessory input functions as depicted in FIGS. 1A and 1B. Selectingbutton 104 can cause the AMS application to adapt the GUI 101 to presentstatistics in relation to the usage of accessories as depicted in FIGS.2A, 2B, and 3 . Selecting button 106 can cause the AMS application toadapt the GUI 101 to present promotional offers and software updates.

It should be noted that the steps of method 400 in whole or in part canbe repeated until a desirable pattern of associations of actions toinput functions of the selected accessories has been accomplished. Itwould be apparent to an artisan with ordinary skill in the art thatthere can be numerous other approaches to accomplish similar results.These undisclosed approaches are contemplated by the present disclosure.

FIG. 5 depicts a method 500 in which the AMS application can beprogrammed to recognize unknown accessories so that method 400 can beapplied to them as well. Method 500 can begin with step 502 in which theAMS application detects an unknown accessory such as a new keyboard,gaming goggles, or gaming accessory from an unknown vendor by way of acommunicative coupling to a computing device from which the AMSapplication operates. The AMS application in this instance can receivean identity from the keyboard or the operating system which is not knownthe AMS application. Upon detecting an unknown accessory, the AMSapplication in step 504 can present a depiction of an accessory ofsimilar or same category in response to a user providing direction as tothe type of accessory (by selecting for example a drop-down menu).Alternatively, or in combination with the user instructions, the AMSapplication can determine from the information received from the unknownaccessory an accessory type.

In step 506 the AMS application can receive instructions describing allor a portion of the input functions of the unknown accessory. Theseinstructions can come from a user who defines each input functionindividually or responds to inquiries provided by the AMS application.The AMS application can for example make an assumption as to a keyboardlayout and highlight each key with a proposed function which the usercan verify or modify. Once the AMS application has been providedinstructions in step 506, the AMS application can create an accessoryidentity in step 508 which can be defined by the user. In steps 510 and512, the AMS application can associate and record the accessoryinstructions with the identity for future recognition of the accessory.In step 514, the AMS application can present a depiction of the newaccessory with its identity along with the other selectable accessoriesin section 117.

Method 500 can provide a means for universal detection andidentification of any accessory which can be used to control or managesoftware applications operating in a computing device.

FIG. 6 depicts a method 600 for illustrating the AMS applicationresponding to input function stimuli (triggers) of accessories. Method600 can begin with step 602 in which the AMS application monitors theuse of accessories. This step can represent monitoring the stimulationof input functions of one or more accessories communicatively coupled toa computing device from which the AMS application operates. Thecomputing device can be a remote server or a local device near theaccessories. The input functions can correspond to button depressions ona keyboard, gaming pad, or navigation device such as a mouse. The inputfunctions can also represent navigation instructions such as mouse orjoystick movements. The input functions can further represent speechsupplied by a microphone singly or in combination with a headset. Theinput functions can also represent button depression at gaming gogglesor a gaming accessory. Other existing or future input functions of anaccessory detectable by the AMS application are contemplated by thepresent disclosure. The AMS application can monitor input functions byfor example processing human interface device (HID) reports supplied bythe accessories to the computing device.

Once one or more stimulations have been detected in step 604, the AMSapplication can proceed to step 606 to determine if action(s) have beenassociated with the detected stimulation(s). If for example thestimulations detected correspond to keyboard and mouse buttondepressions, the AMS application can determine if actions have beenassociated and recorded for such stimulations. If these stimulations“trigger” one or more actions, the AMS application can proceed to step608 where it retrieves the stimulation definition of these actions foreach accessory reporting a stimulation event. In step 610, the AMSapplication can substitute the detected stimulations with thestimulations defined by the action.

To illustrate this substitution, suppose for example that the detectedstimulation was “Ctrl A” simultaneously depressed on a keyboard. Supposefurther that an action associated with this stimulus consists of a macrothat combines mouse clicks with a navigation of the mouse (e.g., movingthe mouse quickly in a forward motion for a given distance), and arequest to invoke an instant messaging (IM) session with a particularindividual using SkypeTM or some other common IM tool. In step 610, theAMS application would substitute “Ctrl A” for stimulations consisting ofthe mouse clicks, navigation and a request for an IM application. Thesubstitute stimulations would then be reported in step 612 to anoperating system (OS). As another example, suppose that the detectedstimulation was a “C” button 188 depressed on an input interface of thegaming goggles 109. Suppose further that an action associated with thisstimulus consists of a macro that combines a function to display amapping indicator showing location of a teammate player on a viewingapparatus 190 of the gaming goggles 109 and a function to activate agaming accessory 113. In step 610, the AMS application would substitutethe “C” button 188 for stimulations to perform the substituted functionsand report these stimulations to the +.

In step 616, the OS can determine whether to pass the substitutestimulations to an active software application in operation (e.g., agaming application) and/or to invoke another software application. Theactive software application can be operating from the same computersystem from which the OS and the AMS application operate or can beoperating at a remote system such as an on-line server or family ofservers (e.g., World of Warcraft) awaiting stimulation data from thecomputer system. In this illustration, the macro comprises bothstimulation feedback for the active software application and a requestto initiate an IM session. Accordingly, in the first example, the OSconveys in step 618 the mouse stimulation signals to the active softwareapplication (e.g., gaming application), and in a near simultaneousfashion invokes the IM session in step 620 with a specific individual(or organization). In the second example, the OS conveys in step 618 thestimulation signals to the active software application for the game tocause display of the teammate map on the viewing apparatus 190 of thepair of gaming goggles 109 and to activate the gaming accessory 113.

Referring back to step 606, the illustrations above cover a scenario inwhich the AMS application has detected an association of actions toaccessory stimuli. If however the AMS application does not detect suchan association, then the detected stimulus (or stimuli) supplied by oneor more accessories is transmitted to the OS in step 614. For example,it may be that a stimulation based on the depressions of “Ctrl A” has noparticular association to an action. In this case, the AMS applicationpasses this stimulation to the OS with no substitutes. In step 616 theOS can determine if this stimulation invokes a new software applicationin step 620 or is conveyed to the previously initiated softwareapplication.

Contemporaneous to the embodiments described above, the AMS applicationcan also record in step 622 statistics relating to the detectedaccessory stimulations. A portion of the AMS application can operate asa background process which performs statistical analysis on thestimulations detected. By selecting button 104 in FIG. 1A, the AMSapplication can provide an updated GUI which illustrates the usage ofinput functions of one or more accessories for which stimulations weredetected in step 604. A keyboard accessory is shown in FIG. 2A. In thisillustration, certain keys (references 205, 206 208, 210) on thekeyboard are color-coded to illustrate the frequency of usage of thesekeys. A color scale 203 defines the frequency of usage of the inputfunctions of the keyboard. The first end of the scale (navy blue)represents a single detected depression, while an opposite end of thescale (bright red) represents 500 detected depressions. Based on thisscale, the AMS application maps by color in step 624 stimulations of thekeyboard. For example, the key grouping 208 depict a color coding withthe highest detectable usage, while the F7 key (reference 210) indicatesthe fewest depressions. Keys having zero depressions are not color codedto readily identify the color mapping of keys which were used at leastonce. In FIG. 2B, gaming goggles 109 is shown. Buttons 220, 225, 228,and 229 on the gaming goggles are color-coded to illustrate thefrequency of usage of these buttons. In this example, the “C” button 228is depicted by a color coding showing the highest detectable usage,while the “A” button 220 indicates the fewest depressions. Keys havingzero depressions, such as the “B” button 225, are not color coded toreadily identify the color mapping of keys which were used at leastonce.

The AMS application provides additional functions in a playback panel ofthe GUI which can help a user understand how the color coded keys wereused during an active software application such as a video game. In thissection of the GUI, the AMS application can present the user with aplayback control function 202 which the user can select to replay,pause, forward or rewind the usage of these keys. When usage playback isselected, the user can for instance see the color coded keys highlightedin real-time with a temporary white border to visualize how the keyswere selected. A time clock 204 provides the user the elapsed time ofthe playback sequence. Button 212 allows the user to retrieve statisticsfrom other sessions, while button 214 provides the user a means to savestatistics from a given session.

The GUI of FIGS. 2A and 2B could have been shown as a split screen withall accessories which generated one or more detected stimulations (e.g.,keyboard, mouse, and microphone), each providing statistical symbolicresults as described above for the keyboard. Although not shown, splitscreen embodiments are contemplated by the present disclosure for theGUI of FIGS. 2A and 2B.

In addition to a symbolic representation as shown in FIGS. 2A and 2B,the AMS application can provide the user a means to visualize rawstatistics in a table format such as shown in FIG. 3 by selecting button212. The table format shows raw data in section 302 and possiblesuggestions in section 304 for improving user performance which can begenerated by the AMS application in step 626. Section 302 can bepresented in a table format with a column identifying the key beinganalyzed, its usage, and number of key presses. The user can ascertainfrom this table the most and least frequently used keys as well as otheridentifiable patterns.

The AMS application can utilize an understanding of the layout of theaccessory (in this case, the keyboard) to determine from the statisticsways that the user can improve response time or ergonomic use. Forexample, the AMS application can determine from a layout analysis thatthe key combination <Alt.> can be reassigned to a macro based on thetrigger <Ctrl F> which could provide the user a faster response time andfree up the user's right hand for other tasks. The AMS application canalso provide alternative suggestions. For example, the AMS applicationcan also suggest creating single button macros for each of the keycombinations <Alt.> and <Ctrl A> which can be assigned to keys on thekeyboard or left and right buttons of a mouse. The latter suggestion ofassigning macros to the mouse can help the user free up his/her lefthand.

The AMS application can utilize present and next generation algorithmsto determine how to improve response times and ergonomic usage ofaccessory devices. The AMS application can for example have at itsdisposal an understanding of the layout of each accessory, the type ofsoftware being controlled by the accessory (e.g., World of Warcraft),type of operations commonly used to control the software (e.g., knownactions as shown in the actions column 130 of FIGS. 1A and 1B), anunderstanding of the associations made by other users (e.g., gamers) toimprove their performance when controlling the software, and so on. TheAMS application can also be operable to communicate with the activesoftware application by way of an Application Programming Interface(API) to receive additional usage statistics from the software which itcan in turn use to improve the user's performance. The AMS applicationcan also utilize common statistical and behavior modeling techniques topredict the behavior of the user and responses from the softwareapplication to identify possible ways to improve the user's performance.

From these illustrations, it would be apparent to an artisan of ordinaryskill in the art that innumerable algorithms can be developed to analyzeaccessory usage and thereby suggest improvements. These undisclosedembodiments are contemplated by the present disclosure.

FIG. 7 depicts an illustrative embodiment of a system 700 for adapting avirtual game to a real-world location. System 700 can include a gamingserver 730. The gaming server 730 can be in communication with computingdevices 782, such as a laptop computer, a desktop computer, or a tablet.The gaming server 730 can also be in communication with mobile devices790, such as a mobile phone or a personal assistant. The mobile devices790 can be communicatively coupled to the gaming server 730 by way of amobility network 788 coupled to the Internet or other communicationmeans. The gaming server 730 can further be in communication with gamingcontrollers 784, such as a game console, that is further coupled to adisplay 786. The computing devices 782 and gaming controllers 784 canalso be communicatively coupled to the gaming server 730 by way of theInternet or other communication means.

The gaming server 730 can be in communication with physical locations704 and 744. The physical locations 704 and 744 can be equipped asvirtual gaming spaces. For example, each physical location 704 and 744can have mobility networks 720 and 760 capable of communicatingwirelessly with gaming devices 706 and 756 used in the respectivephysical locations 704 and 744. The physical locations 704 and 744 canbe at disparate locations (e.g., first gaming center in New York, secondgaming center in Chicago). The gaming devices 706 and 756 at thephysical locations 704 and 744 can include gaming goggles 708 and 748with keypad buttons 709 and 749, Global Positioning Satellite (GPS)sensing devices 711 and 751, headsets with microphones 710 and 750,gaming vests 712 and 752, and gaming accessories 716 and 756. Any or allof the gaming devices 706 and 756 of the first and second physicallocations 704 and 744 can communicate with the gaming server 730 via thefirst and second mobility networks 720 and 760. The gaming devices 706and 756 of the first and second physical locations 704 and 744 can alsocommunicate with the gaming server 730 via infrared sensing devices 724and 764. The gaming server 730 can further communicate with the gamingdevices 706 and 756 at the first and second physical locations 704 and744 via satellite 781. The gaming server 730 can communicate with anynumber of other physical locations and/or with multiple gamingaccessories for multiple players at each physical location.

The gaming server 730 can acquire the boundary and topologicalinformation from a database or can acquire the information by collectingGPS information from locations in the first and second physical location704 and 744 over the first and second mobility networks 720 and 760. Thegaming accessories at each physical location 704 and 744 can be wornand/or used by players to allow the gaming server 730 to track playermovements and player actions. For example, the gaming server 730 cantrack movements of players at the first and second physical locations704 and 744 who are wearing GPS sensing devices 711 and 751. As theplayers move around the locations 704 and 744, the GPS sensing devices711 and 751 can detect changes in player positions relative to theboundary and topological information of the physical locations 704 and744 as identified by the gaming server 730. As another example, thegaming goggles 708 and 748 can include GPS sensing apparatus to allowthe goggles to acquire the current positions of the players as theplayers move about the physical locations 704 and 744. The GPS sensingdevices 711 and 751 and goggles 708 and 748 can include wirelesscommunication capabilities, such as wireless cellular or infrared.

The gaming devices 706 and 756 can also include other sensory devicessuch as gyroscopes, compasses, accelerometers, level detectors, diodearrays, infrared detectors and/or antennas, which can provide the gamingserver 730 orientation, altitude, and location coordinates, as well asvelocity, acceleration and/or trajectory information. The gaming devices706 and 756 can use these sensory devices to detect and reportpositioning and orientation information to the gaming server 730. Forexample, the gaming goggles 708 and 748 can use any or several of thesesensory devices to determine orientation of a wearing player's head. Bydetermining the player's head orientation, the gaming goggles 708 and748 can allow the gaming server 730 to determine the physical andvirtual field of view of the player.

The foregoing embodiments are a subset of possible embodimentscontemplated by the present disclosure. Other suitable modifications canbe applied to the present disclosure.

FIG. 8 depicts a virtual gaming space 800 for playing a virtual realitygame at two real world locations. The simplified schematic illustratedtop view of two physical locations 810 and 850 that can be used as twogaming spaces for playing games featuring virtual gaming content. Eachphysical location 810 and 850 can include boundaries 818 and 858 andtopographical features, including physical structures and objects 822and 862 selectively placed within the boundaries. Preferably, theboundaries 818 and 858 and/or the topographical features 822 and 862 ofthe two physical locations 810 and 850 are identical, or nearlyidentical, such that two identical gaming spaces can be created. Thephysical objects and structures 822 and 862 of the two gaming spaces 810and 850 can be selectively altered to include certain objects andstructures 822 and 862 while excluding other structures. The gamingserver 730 can control activation or deactivation of physical objectsand structures 822 and 862 either directly or through a sub-serveroperating at the physical location. In one example, active structuresand objects 822 and 862 are raised up to or lowered onto playingsurfaces of each gaming space 810 and 850, while inactive structures andobjects are lowered below or raised above the player surfaces.Accordingly, players can request at disparate locations an obstacleconfiguration matched at each location to engage in a real-world gamewhile at the same time experiencing a virtual presence of each player ateach location as will be described below.

The gaming server 730 can verify that the resulting first and secondphysical locations 810 and 860 are configured identically, or nearlyidentically, so a player at the first gaming space will experienceexactly the same boundary and topographic limitations as a player at thesecond gaming space. Because the first and second gaming spaces 810 and850 are of the same size and physical configuration, the gaming server730 can map the boundary and topographical data that describes the twolocations into a single gaming space, which is defined as the virtualgaming space that is common to both the first physical location 810 andthe second physical location 860.

A first player 814 can physically enter the first gaming space 810. Thegaming server 730 can recognize the presence and location of the firstplayer 814 by, for example, communicating with gaming devices 706 and756 worn or carried by the first player 814. For example, the firstplayer 814 can wear gaming goggles 708 that include two-waycommunication capabilities between the goggles 708 and the gaming server730. The communications may be directly between the gaming server 730and goggles 708 or may be via another server device coupled directly tothe first gaming space 810 and in communication with the gaming server730. The gaming server 730 can identify the presence and location of thefirst player 814 through other means, such as wireless or infraredcommunications with the gaming goggles 708, a GPS sensing device 711that may be a stand-alone device or that may be integrated into anothergaming device, a headset device 710, a gaming vest 712, or a gamingaccessory 716, such as a gun. The gaming server 730 can collectinformation based on other sensory devices, such as gyroscopes,compasses, accelerometers, level detectors, diode arrays, infrareddetectors and/or antennas, to detect position and orientationinformation for the first player 814 as this player moves about in thefirst gaming space 810. Similarly, the gaming server 730 can identifypresence, position, and orientation information for a second player 854who has entered the second gaming space 850 using similar sensors of thesecond player 854.

The gaming server 730 can further map the position and orientationinformation for the first player 814, who is physically at the firstphysical location 810, onto the boundary and topographical informationfor the first physical location 810. The gaming server 730 can also mapthe first player's position and orientation information on to a virtualgaming space. Similarly, the gaming server 730 can map the position andorientation information for the second player, who is physically locatedat the second physical location 850, onto the virtual gaming space. Bymapping the second player 824 onto the virtual gaming space, the firstand second players 814, 824 can be present, virtually, in the virtualgaming space. Further, the first gaming goggles 708 worn by the firstplayer 814 can be capable of superimposing video and still images onto atransparent viewing apparatus. The gaming server 730 can provide to thefirst gaming goggles 708 a virtual video or still image of the secondplayer 824 or information that can be used to produce such a video orstill image. When the first player 814 looks though the gaming goggles708, the first player 814 sees the second player 824 virtually presentat his first gaming location 810. Similarly, the gaming server 730 canprovide a video or still image of the first player 814 to the gaminggoggles 748 worn by the second player 854. In this way, the first server730 can allow the first player 814 and the second player 854 to seetheir counterpart as a virtual player in their respective physicalgaming space, 810 and 850, even if the two players are physicallyseparated by great distances.

The gaming server 730 can also identify the other players physicallypresent at the first or second gaming spaces 810 and 850. For example, athird player 870 can be physically present at the second gaming space850. The third player 870 can be allied with either, or both, of thefirst and second players 814 and 824 in a virtual game or with neitherof them. The gaming server 730 can track the position and orientationfor the third player 870. For example, if the third player 870 isphysically present at the first gaming space 850, then the gaming server730 can map the physical position and orientation information for thethird player 870 to the virtual gaming space. Information for a virtualthird player 830 can be generated and sent to the gaming goggles 708 ofthe first player 814. The virtual third player 830 can be superimposedonto the transparent viewing apparatus of the gaming goggles 708 and 748so that the first player 814 can see the virtual third player 830 in hisfield of view.

The gaming server 730 can detect a computer player that is attempting tojoin a virtual game at the virtual gaming space formed by mapping thefirst and second gaming spaces 810 and 850. A computer player 832 is aplayer that is controlled by a user at a computer device 782, mobiledevice 790, or gaming controller 784. The computer player 832 does notexist as a physical player and so is only available on the virtualgaming space as a virtual computer player 832 at the first game space810 and the computer player 872 at the second game space 850. Thevirtual computer player 832 and 872 can be visible to the first andsecond players 814 and 854 through their gaming goggles 708 and 748according to information supplied by the gaming server 730. Theinformation supplied by the gaming server 730 can include an avatarrepresentative of the computer player 872, and coordinate andorientation information to describe the movements, orientation andpositioning of the computer player 832. The gaming server 730 can alsodetect a computer-generated player. The computer-generated player iscontrolled by the virtual game running at computer device 782, mobiledevice 790, gaming controller 784, or the gaming server 730 and does notexist as a physical player. The computer-generated player is onlyavailable on the virtual gaming space as a virtual computer player. Thevirtual computer-generated player 834 and 874 can be visible to thefirst and second players 814 and 854 through their gaming goggles 708and 748 according to information describing the computer-generatedplayer. The information supplied by the gaming server 730 can include anavatar representative of the computer-generated player, and coordinateand orientation information to describe the movements, orientation andpositioning of the computer-generated player.

FIG. 9 depicts a virtual gaming space 900 for playing a virtual realitygame at real-world space. The simplified schematic illustrates a gamingspace 910 that is a physical location. The gaming space 910 can be abuilding, an outdoors location, a park, or another structure. Forexample, the gaming space 910 can be a physical library (e.g., at acollege) with multiple rooms. The gaming server 730 can identifyboundaries 920 of the gaming space. The gaming server 730 can furtheridentify topographical features 930, such as the location of walls,rooms, stairways, and large objects, within the physical space 910. Forexample, the gaming server 730 can consult a database holding boundaryand topographical feature information for well-known locations, such asairports, malls, theme parks, museums, libraries, and parks. The gamingserver 730 can map the boundary and orientation information of thephysical gaming space 910 to a virtual structure 940 based on a morevisually interesting space. For example a physical library building 910can be mapped to a virtual castle 940 as shown. Other virtual gamingspaces 940 can be mountains, caves, underwater worlds, and the like.

The gaming server 730 can detect the presence of one or more players 934and 938 in the gaming location, who indicate a desire to play a virtualreality game in a virtual gaming space based on the physical space 910.The players 934 and 938 can be using computer devices 782, mobiledevices 790, or gaming controllers 784 to access the virtual realitygame. For example, one or more people can be accessing mobile devices790 while at a library. The one or more people enter a virtual realitygaming application hosted, for example, by the gaming server 730 at thelibrary. The gaming server 730 maps the airport terminal boundaries andtopography to a virtual structure corresponding to an ancient castle940, as shown. The gaming server 730 sends video or still images of thevirtual structure 940 to the mobile devices 790 of the first and secondplayers 934 and 938.

The gaming server 730 can also track the position and orientation of thefirst and second players 934 and 938. For example, the gaming server 730can track GPS coordinates based on GPS sensing devices 711 and 751 ofthe players. The mobile devices 790 can be used to track playermovements where these devices are capable of GPS detection andreporting. In another example, the players 934 and 938 do not physicallymove about at the physical location 910. Rather, the players move onlyin the virtual structure 940 as displayed on their mobile devices 790.In another example, a series of Wireless Fidelity (Wi-Fi) hotspots aredistributed throughout the physical location 910. As the players 934 and938 move about in the physical location, their mobile devices 790 canexperience changing wireless signal strengths from the various Wi-Fihotspots. For example, as the first player 934 carries a mobile device790 closer to a one Wi-Fi hotspot, the signal strength of that hotspotcan increase at the mobile device 790. In turn, signal strength betweenthe same mobile device 790 and a different Wi-Fi hotspot can bedecreasing. The gaming server 730 can capture data from the mobiledevices 790 corresponding to the changing relative signal strengths ofthe different Wi-Fi hotspots. The gaming server 730 can interpolate therelative signal strengths and utilizing triangulation techniques basedon the known locations of the hot spots to determine positioning of themobile devices 790 throughout the physical location 910.

FIGS. 10-12 depict an illustrative method 1000-1200 that operates in aportion of the devices and systems of FIGS. 1-7 , and FIG. 8 . Method1000-1200 can begin with step 1004 in which a gaming server 730 canidentify a first player 814 physically present at a first physicallocation 810 and a second player 854 physically present at a secondphysical location 850. The first and second physical locations 810 and850 can comprise disparate locations. The first and second locations 810and 850 can be outdoor facilities, such as park, or indoor facilities,such as warehouses, where substantial gaming spaces can be defined. Thefirst and second locations 810 and 850 can be near one another or can bein different cities, states, or countries.

In step 1008, the gaming server 730 can identify boundary information818 and topographical information 822 for the first physical location810 and second boundary information 858 and topographical information862 for the second physical location 850. In one example, the gamingserver 730 can acquire the boundary and topological information 818 froma database. In another example, the gaming server 730 can acquire theboundary information 818 and topographical information 822 by collectingGPS information from the first and second physical location 704 and 744over the first and second mobility networks 720 and 760.

In step 1012, the server can control configurable deployment of physicalobjects 822 and 862 at the first and second physical locations 810 and850. The physical objects and structures 822 and 862 of the first andsecond locations 810 and 850 can be selectively added or removed. In oneexample, the gaming server 730 can control placement or removal ofphysical objects and structures either directly or through a sub-serveroperating at the physical location. In one example, active structuresand objects 822 and 862 can be raised above or lowered onto playingsurfaces of the first and second locations 810 and 850. This approachcan be well-suited to spaces located inside of buildings. In a firstconfiguration, for example, first structures and objects 822 are loweredinto or placed onto the first gaming space 810, while second structuresand objects are lifted and removed from the gaming space 810. Tomaintain consistency between the first and second locations 810 and 850,the setup of objects and structures must be the same for the first andsecond locations 810 and 850. In one example, the unused objects andstructures are lowered and stored below the playing surface.

In step 1016, the gaming server 730 can map the first boundary andtopographical information of the first physical location 810 and thesecond boundary and topographical information of the second physicallocation 850 to a virtual gaming space. Because the first and secondgaming spaces 810 and 850 are of the same size and physicalconfiguration, the gaming server 730 can map the boundary andtopographical data that describes the each of the locations 810 and 850into a single gaming space. The gaming server 730 defines this singlegaming space as a virtual gaming space. When a game is played by thefirst and second players 814 and 854, and another of the otherparticipants, all of the virtual aspects of the game are referenced fromthe virtual gaming space. If a computer player 832 and 872 joins thegame, then the location of a virtual computer player, who represents thecomputer player for purposes of the game, is referenced to the virtualgaming space. In this way, a single virtual game can be played involvingmultiple physical players at multiple physical locations and including amultiple computer players and computer-controlled players. All of thecomputer devices 782, mobile devices 790, gaming controller 784, andplayer game devices 706, 756 for all of the participating players can bereferenced to a common, virtual gaming space.

In step 1020, the gaming server 730 can generate virtual objects 828 and868 distributed within the virtual gaming space. The gaming server 730can generate a wide-variety of backgrounds and images of objects withinthe virtual gaming space that can be seen by the players via the gaminggoggles 708 and 748.

In step 1024, the gaming server 730 can capture first position andorientation information for the first player 814 at the first physicallocation 810 and the second position and orientation information for thesecond player 854 at the second physical location 850. The gaming server730 can recognize the presence and location of the first player 814 by,for example, communicating with gaming devices 706 and 756 worn orcarried by the first player 814. For example, the first player 814 canwear a pair of gaming goggles 708 that include two-way communicationcapabilities between the goggles 708 and the gaming server 730. Thecommunications may be directly between the gaming server 730 and goggles708 or may be via another server device coupled directly to the firstgaming space 810 and in communication with the gaming server 730. Thegaming server 730 can identify the presence and location of the firstplayer 814 through other means, such as wireless or infraredcommunications with the gaming goggles 708, a GPS sensing device 711that may be a stand-alone device or that may be integrated into anothergaming device, a headset device 710, a gaming vest 712, or a gamingaccessory 716, such as a gun. The gaming server 730 can further collectinformation based on other sensory devices, such as gyroscopes,compasses, accelerometers, level detectors, diode arrays, infrareddetectors and/or antennas, to detect position and orientationinformation for the first player 814 as this player moves about in thefirst gaming space 810. Similarly, the gaming server 730 can identifypresence, position, and orientation information for a second player 854who has entered the second gaming space 850.

In step 1028, the gaming server 730 can map the first position andorientation information for the first player and the second position andorientation information for the second player to the virtual gamingspace to generate a first virtual player corresponding to the firstplayer and a second virtual player corresponding to the second player.Since the first physical location 810 can be mapped to a virtual gamingspace, the gaming server 730 can map the first player's position andorientation information on to the virtual gaming space. Similarly, thegaming server 730 can map the position and orientation information forthe second player, who is physically located at the second physicallocation 850, onto the virtual gaming space. By mapping the secondplayer 824 onto the virtual gaming space, the second player 824 can alsobe present, virtually, in the virtual gaming space.

In step 1032, the gaming server 730 can capture an image of the first orsecond player 814 and 854. If the image is captured and available foruse, then gaming server 730 can adapt this image to generate a virtualplayer 864 and 824 in step 1036. In one example, the gaming server 730can adapt movements of the virtual player 864 and 824 to mimic movementsof the physical player 814 and 854 represented by the virtual player.

In step 1040, the gaming server 730 can identify another player playingat a computer device 782, mobile device 790, or gaming controller 784.If a computer player is identified, then, in step 1044, the gamingserver 730 can map position and orientation from the computer player tothe virtual gaming space to generate a virtual computer player 832 and872.

In step 1104, the gaming server 730 can identify a computer-controlledplayer that is being commanded by a software application at a computerdevice 782, mobile device 790, or gaming controller 784. If acomputer-controlled player is identified, then, in step 1108, the gamingserver 730 can map position and orientation from the computer-controlledplayer to the virtual gaming space to generate a virtualcomputer-controlled player 834 and 874.

In step 1112, the gaming server 730 can detect any virtual objects 828and 868 that would virtually obstruct at least a part of a view of oneof the virtual players a perspective of another of the virtual players.If such a virtual object 828 and 868 obstruction is detected, then, instep 1116, the gaming server 730 superimposes the identified part of theobstructing virtual object 828 and 868 at a display of the goggles 708and/or 748 if the virtual object is in a line of site of the playerswearing these goggles, thereby causing a visual obstruction as if theobject were in the location of the player(s).

In step 1120, the gaming server 730 can capture activation and targetinginformation for a gaming accessory 716 of a player physically present atthe first location 810. If activation is captured, then, in step 1124,the gaming server 730 can map the activation and targeting informationof the gaming accessory 716 to the virtual gaming space to generatevirtual activation and targeting information. If the gaming server 730determines a virtual effect from the virtual activation and targeting ofthe gaming accessory, in step 1128, then the gaming server 730 canupdate the virtual effect in step 1132. For example, in the case of auser targeting an opposing player a determination can be made by thegaming server 730 as to whether the opposing player was virtually hit.The gaming server 730 or the gaming accessory 716 can then transmit amessage to the opposing player's goggles or gaming accessory indicatingthat the virtual hit.

In step 1136, the gaming server 730 can capture movement information fora physical accessory of a player 814 physically present at a physicallocation 810. If movement information for the physical accessory iscaptured, then, in step 1140, the gaming server 730 can map the capturedmovement information of the physical accessory to the virtual gamingspace to generate a virtual movement for the physical accessory. Forexample, the first player 814 can carry a physical accessory, such a asshield. If the first player 814 moves the physical shield to concealhimself from the view of the second player 854, in the virtual gamingspace, then the gaming server 730 can detect the movement and positionof the shield and map this movement and position to virtual gaming spacesuch that the virtual first player is shielded from the view of thesecond player (as seen through the gaming goggles 748 of the secondplayer 854 according to information supplied by the gaming server 730 tothe gaming goggles 748). In step 1144, the gaming server 730 candetermine a virtual effect, if any, from the virtual movement of thephysical accessory and the gaming server 730 can update the virtualeffect in step 1148.

In step 1152, the gaming server 730 can transmit to the goggles 708 of aphysical player 814, such as first physical player 814 at a firstphysical location 810, information representative of a virtual player824, such as the virtual player 824 representing the second player, whois physically present at the second location 850 but only virtuallypresent a the first location 810. The first goggles 708 display thesecond virtual player 824 superimposed onto a transparent viewingapparatus for viewing of the virtual gaming space. The gaming server 730also can transmit to the goggles 708 information representative ofvirtual objects and virtual effects (e.g., shots being fired at one ofthe players as seen by the goggles of the targeted player based onvirtual effect information supplied by the gaming server 730 to thegoggles of the targeted player). The gaming server 730 can transmitstreaming video to the goggles 708 representing virtual objects,effects, and players.

In step 1204, the gaming server 730 can determine if it has received arequest for communication between a first player and a second player. Ifa request is received in step 1204, then the gaming server 730 caninitiate a communications link between a first player and a secondplayer. In one example, communications between players can be initiatedby a depressing button on the gaming goggles 708 or on the headset 710.The gaming server 730 can detect the request and establish the necessarycommunications link. In one example, the gaming server 730 can routecommunications between a headset 710 of a first player and a headset 750or a mobile device 790 of a second player by using one or more mobilitynetworks 720, 760, and 788. In step 1212, the gaming server 730 canreceive messages from the first player and the other player. In step1216, the gaming server 730 can send messages to the first player andthe other players.

In one embodiment, the gaming location can be a single physical spacewhere multiple players are present, as depicted in the physical location910 of FIG. 9 . The gaming server 730 can identify first and secondplayers 934 and 938 physically present at the physical location 910, whoindicate a desire to play a virtual reality game in a virtual gamingspace based on the physical space 910. The players 934 and 938 can usecomputer devices 782, mobile devices 790, or gaming controllers 784 toaccess a virtual reality game based in the single physical location 910.A virtual reality gaming application can be hosted at the physicallocation 910 by the gaming server 730 or by another computer device. Thegaming server 730 can identify boundary and topographical informationfor the physical location 910 and can further identify topographicalfeatures 930, such as the location walls, rooms, stairways, and largeobjects, within the physical space 910. The gaming server 730 can thenmap the boundary and topographical information of the physical location910 to a virtual gaming space 940.

The gaming server 730 can also generate a virtual structure 940corresponding to a visually interesting, virtual gaming space. Forexample a physical library building 910 can be mapped to a virtualcastle 940, as shown. The virtual gaming space 940 can be a geologicalfeature, such as a mountain, cave, or underwater world. The gamingserver 730 can send video or still images of the virtual structure 940to the mobile devices 790 of the first and second players 934 and 938.In step 1320, the gaming server 730 can generate virtual objects withinthe virtual structure 940.

The gaming server 730 can capture and track position and orientationinformation for the first and second players 934 and 938 at the physicallocation 910. In another example, the virtual game can be structuredsuch that the players 934 and 938 do not physically move about at thephysical location 910. Rather, the players move only as virtual playerswithin the virtual structure 940 as displayed on the players' computerdevices 782 or mobile devices 790.

From the foregoing descriptions, it would be evident to an artisan withordinary skill in the art that the aforementioned embodiments can bemodified, reduced, or enhanced without departing from the scope andspirit of the claims described below. In one embodiment, the gamingserver 730 can use a wireless devices distributed throughout a physicallocation to provide position information for players. The gaming server730 can initiate several wireless communications links between a firstplayer device, such as a mobile device, and wireless devices, such as aseries of Wireless Fidelity (Wi-Fi) hotspots, in the virtual gamingspace. The gaming server 730 can receive wireless signal strengthreadings from the mobile devices corresponding to the several wirelesscommunications links established for the players' devices. As playersmove about in the physical location, their mobile devices can experiencechanging wireless signal strengths from the various Wi-Fi hotspots. Thegaming server 730 can capture data from the mobile devices correspondingto the changing relative signal strengths of the different Wi-Ficommunication links and can interpolate the relative signal strengths asagainst the known locations of the hot spots to determine positioningand orientation of the mobile devices.

In another embodiment, the gaming server 730 can consult a databaseholding boundary and topographical feature information for well-knownlocations, such as airports, malls, theme parks, museums, libraries, andparks. The gaming server 730 can use the database boundary andtopographical feature information as a basis for generating a virtualgaming space.

FIG. 13 depicts an exemplary diagrammatic representation of a machine inthe form of a computer system 1300 within which a set of instructions,when executed, may cause the machine to perform any one or more of themethodologies discussed above. In some embodiments, the machine operatesas a standalone device. In some embodiments, the machine may beconnected (e.g., using a network) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient user machine in server-client user network environment, or as apeer machine in a peer-to-peer (or distributed) network environment.

The machine may comprise a server computer, a client user computer, apersonal computer (PC), a tablet PC, a laptop computer, a desktopcomputer, a control system, a network router, switch or bridge, or anymachine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. It will beunderstood that a device of the present disclosure includes broadly anyelectronic device that provides voice, video or data communication.Further, while a single machine is illustrated, the term “machine” shallalso be taken to include any collection of machines that individually orjointly execute a set (or multiple sets) of instructions to perform anyone or more of the methodologies discussed herein.

The computer system 1300 may include a processor 1302 (e.g., a centralprocessing unit (CPU), a graphics processing unit (GPU, or both), a mainmemory 1304 and a static memory 1306, which communicate with each othervia a bus 1308. The computer system 1300 may further include a videodisplay unit 1310 (e.g., a liquid crystal displays (LCD), a flat panel,a solid state display, or a cathode ray tube (CRT)). The computer system1300 may include an input device 1312 (e.g., a keyboard), a cursorcontrol device 1314 (e.g., a mouse), a disk drive unit 1316, a signalgeneration device 1318 (e.g., a speaker or remote control) and a networkinterface device 1320.

The disk drive unit 1316 may include a machine-readable medium 1322 onwhich is stored one or more sets of instructions (e.g., software 1324)embodying any one or more of the methodologies or functions describedherein, including those methods illustrated above. The instructions 1324may also reside, completely or at least partially, within the mainmemory 1304, the static memory 1306, and/or within the processor 1302during execution thereof by the computer system 1300. The main memory1304 and the processor 1302 also may constitute machine-readable media.

Dedicated hardware implementations including, but not limited to,application specific integrated circuits, programmable logic arrays andother hardware devices can likewise be constructed to implement themethods described herein. Applications that may include the apparatusand systems of various embodiments broadly include a variety ofelectronic and computer systems. Some embodiments implement functions intwo or more specific interconnected hardware modules or devices withrelated control and data signals communicated between and through themodules, or as portions of an application-specific integrated circuit.Thus, the example system is applicable to software, firmware, andhardware implementations.

In accordance with various embodiments of the present disclosure, themethods described herein are intended for operation as software programsrunning on a computer processor. Furthermore, software implementationscan include, but not limited to, distributed processing orcomponent/object distributed processing, parallel processing, or virtualmachine processing can also be constructed to implement the methodsdescribed herein.

The present disclosure contemplates a machine readable medium containinginstructions 1324, or that which receives and executes instructions 1324from a propagated signal so that a device connected to a networkenvironment 1326 can send or receive voice, video or data, and tocommunicate over the network 1326 using the instructions 1324. Theinstructions 1324 may further be transmitted or received over a network1326 via the network interface device 1320.

While the machine-readable medium 1322 is shown in an example embodimentto be a single medium, the term “machine-readable medium” should betaken to include a single medium or multiple media (e.g., a centralizedor distributed database, and/or associated caches and servers) thatstore the one or more sets of instructions. The term “machine-readablemedium” shall also be taken to include any medium that is capable ofstoring, encoding or carrying a set of instructions for execution by themachine and that cause the machine to perform any one or more of themethodologies of the present disclosure.

The term “machine-readable medium” shall accordingly be taken toinclude, but not be limited to: solid-state memories such as a memorycard or other package that houses one or more read-only (non-volatile)memories, random access memories, or other re-writable (volatile)memories; magneto-optical or optical medium such as a disk or tape; andcarrier wave signals such as a signal embodying computer instructions ina transmission medium; and/or a digital file attachment to e-mail orother self-contained information archive or set of archives isconsidered a distribution medium equivalent to a tangible storagemedium. Accordingly, the disclosure is considered to include any one ormore of a machine-readable medium or a distribution medium, as listedherein and including art-recognized equivalents and successor media, inwhich the software implementations herein are stored.

Although the present specification describes components and functionsimplemented in the embodiments with reference to particular standardsand protocols, the disclosure is not limited to such standards andprotocols. Each of the standards for Internet and other packet switchednetwork transmission (e.g., TCP/IP, UDP/IP, HTML, and HTTP) representexamples of the state of the art. Such standards are periodicallysuperseded by faster or more efficient equivalents having essentiallythe same functions. Accordingly, replacement standards and protocolshaving the same functions are considered equivalents.

The illustrations of embodiments described herein are intended toprovide a general understanding of the structure of various embodiments,and they are not intended to serve as a complete description of all theelements and features of apparatus and systems that might make use ofthe structures described herein. Many other embodiments will be apparentto those of skill in the art upon reviewing the above description. Otherembodiments may be utilized and derived therefrom, such that structuraland logical substitutions and changes may be made without departing fromthe scope of this disclosure. Figures are also merely representationaland may not be drawn to scale. Certain proportions thereof may beexaggerated, while others may be minimized. Accordingly, thespecification and drawings are to be regarded in an illustrative ratherthan a restrictive sense.

Such embodiments of the inventive subject matter may be referred toherein, individually and/or collectively, by the term “invention” merelyfor convenience and without intending to voluntarily limit the scope ofthis application to any single invention or inventive concept if morethan one is in fact disclosed. Thus, although specific embodiments havebeen illustrated and described herein, it should be appreciated that anyarrangement calculated to achieve the same purpose may be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the above description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b), requiring an abstract that will allow the reader to quicklyascertain the nature of the technical disclosure. It is submitted withthe understanding that it will not be used to interpret or limit thescope or meaning of the claims. In addition, in the foregoing DetailedDescription, it can be seen that various features are grouped togetherin a single embodiment for the purpose of streamlining the disclosure.This method of disclosure is not to be interpreted as reflecting anintention that the claimed embodiments require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed embodiment. Thus the following claims are herebyincorporated into the Detailed Description, with each claim standing onits own as a separately claimed subject matter.

What is claimed is:
 1. A non-transitory, machine-readable medium,comprising executable instructions that, when executed by a processingsystem including a processor, facilitate performance of operations,comprising: selectively deploying one or more physical objects in aphysical location; mapping boundary and topographical information of thephysical location, including the one or more physical objects, to avirtual gaming space; mapping first orientation information for a firstplayer device associated with a first player to the virtual gamingspace, resulting in a first updated virtual gaming space, the firstupdated virtual gaming space including a first virtual playercorresponding to the first player; transmitting, to the first playerdevice, first information representative of the first updated virtualgaming space; mapping second orientation information for a second playerto the first updated virtual gaming space, resulting in a second updatedvirtual gaming space; transmitting, to the first player device, secondinformation representative of the second updated virtual gaming space;identifying a virtual action generated by the first player device whileat the physical location; replacing the virtual action with a substituteaction; determining, according to the substitute action, a virtualeffect on the second player; and transmitting, to the first playerdevice, information representative of the virtual effect on the secondplayer.
 2. The non-transitory, machine-readable medium of claim 1,wherein the second player is a computer-controlled player.
 3. Thenon-transitory, machine-readable medium of claim 1, wherein thereplacing is according to an accessory management profile associatedwith the first player.
 4. The non-transitory, machine-readable medium ofclaim 1, wherein the transmitting, to the first player device, secondinformation representative of the second updated virtual gaming spacecomprises transmitting control information to enable the first playerdevice to display the second player in the second updated virtual gamingspace according to the second orientation information.
 5. Thenon-transitory, machine-readable medium of claim 1, wherein theoperations further comprise: capturing third orientation information fora second player device at the physical location; mapping the thirdorientation information for the second player device to the secondupdated virtual gaming space resulting in a third updated virtual gamingspace; and transmitting, to the first player device, third informationrepresentative of the second player device in the third updated virtualgaming space.
 6. The non-transitory, machine-readable medium of claim 5,wherein the operations further comprise: initiating a communicationslink between the first player device and the second player device,wherein the initiating is responsive to a request for communicationsbetween the first player device and the second player device.
 7. Thenon-transitory, machine-readable medium of claim 5, wherein theoperations further comprise: communicating messages between the firstplayer device and the second player device.
 8. The non-transitory,machine-readable medium of claim 1, wherein the operations furthercomprise: identifying the second player, wherein the second playercomprises a computer-controlled animated object.
 9. The non-transitory,machine-readable medium of claim 1, wherein the operations furthercomprise: receiving information generated by the first player device viaa gyroscope, a compass, an accelerometer, or any combination thereof, asthe first orientation information.
 10. The non-transitory,machine-readable medium of claim 1, wherein the operations furthercomprise: determining the second orientation information relative to thefirst orientation information of the first player device.
 11. Thenon-transitory, machine-readable medium of claim 1, wherein theoperations further comprise: transmitting a streaming video to the firstplayer device, the streaming video representative of the virtual effecton the second player.
 12. The non-transitory, machine-readable medium ofclaim 1, wherein the operations further comprise: generating a pluralityof virtual objects; and transmitting, to the first player device, thirdinformation representative of the plurality of virtual objects.
 13. Thenon-transitory, machine-readable medium of claim 1, wherein the mappingof the first orientation information comprises mapping information for amobile communication device, a tablet, or a computer associated with thefirst player.
 14. A method, comprising: transmitting, by a processingsystem including a processor, first information including firstorientation information for a computing device at a physical location toa virtual gaming space; transmitting, by the processing system, secondinformation representative of a mapping of second orientationinformation of a computer-generated player to the virtual gaming space,wherein the computer-generated player comprises a player controlled by asoftware application; identifying, by the processing system, an actiongenerated by the computing device while located at the physicallocation; replacing, by the processing system, the action with asubstitute action according to a profile; mapping, by the processingsystem, the substitute action to the virtual gaming space to generate avirtual action; determining, by the processing system according to thevirtual action, a virtual effect on the computer-generated player; andtransmitting, by the processing system, third information representativeof the virtual effect.
 15. The method of claim 14, wherein thetransmitting of the first information comprises: transmitting, by theprocessing system, information representative of a mapping of boundaryand topographical information of the physical location.
 16. The methodof claim 14, further comprising: receiving, by the processing system,location data and orientation data generated by the computing device,wherein the first orientation information is based on the location dataand the orientation data.
 17. The method of claim 14, further comprisingdetermining, by the processing system, the second orientationinformation relative to the first orientation information.
 18. Themethod of claim 14, wherein the third information corresponds to astreaming video representative of the virtual effect on thecomputer-generated player.
 19. A system, comprising: a processing systemincluding a processor; and a memory that stores executable instructionsthat, when executed by the processing system, facilitate performance ofoperations, the operations comprising: selectively deploying one or morephysical objects at a physical location; transmitting, to acommunication device at the physical location, first informationrepresentative of a mapping of first orientation information of thecommunication device, and physical location information about thephysical location including the one or more physical objects, to avirtual gaming space; transmitting, to the communication device, secondinformation representative of a mapping of second of orientationinformation of a controllable object to the virtual gaming space;receiving movement information generated by the communication device;determining, according to the movement information, a virtual effect onthe controllable object; and transmitting, to the communication device,third information representative of the virtual effect.
 20. The systemof claim 19, wherein the virtual gaming space includes images of aportion of the physical location that are displayed by the communicationdevice, wherein the system comprises a server, and wherein thecommunication device comprises a portable communication device, atablet, or a computer.